home *** CD-ROM | disk | FTP | other *** search
/ InterCD 2001 November / november_2001.iso / Browsers / Netscape 6.1 / browser.xpi / bin / chrome / toolkit.jar / content / global / autocomplete_test.xul < prev    next >
Encoding:
Extensible Markup Language  |  2001-05-02  |  7.0 KB  |  191 lines

  1. <?xml-stylesheet href="chrome://messenger/skin/messenger.css" type="text/css"?> 
  2.  
  3. <?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
  4. <?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
  5.  
  6.                    
  7. <window id="actest"
  8.         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  9.         xmlns:html="http://www.w3.org/1999/xhtml"
  10.         xmlns:nc="http://home.netscape.com/NC-rdf#"
  11.             align="vertical"
  12.         width="750"
  13.         height="500"
  14.         onload="Initialize();"
  15.         >
  16.         
  17. <script type="application/x-javascript">
  18.  
  19. var AutoCompleteSession = {
  20.     onStartLookup: function(value, prevResult, listener)
  21.     {
  22.         dump("Search Session: onStartLookup\n");
  23.  
  24.         var results = Components.classes["@mozilla.org/autocomplete/results;1"].createInstance();
  25.         results = results.QueryInterface(Components.interfaces.nsIAutoCompleteResults);
  26.         results.searchString = value;
  27.         results.defaultItemIndex = 0;
  28.         results.param = null;
  29.  
  30.         var item = Components.classes["@mozilla.org/autocomplete/item;1"].createInstance();
  31.         item = item.QueryInterface(Components.interfaces.nsIAutoCompleteItem);
  32.         item.value = "Jean-Francois Ducarroz";
  33.         item.comment = "[put your comment here]";
  34.         item.className = "";
  35.         item.param = null;
  36.         
  37.         results.items.AppendElement(item);
  38.         listener.onAutoComplete(results, Components.interfaces.nsIAutoCompleteStatus.matchFound);
  39.     },
  40.  
  41.     onStopLookup: function()
  42.     {
  43.         dump("Search Session: onStopLookup\n");
  44.     },
  45.  
  46.     onAutoComplete: function(value, prevResult, listener)
  47.     {
  48.         dump("Search Session: onAutoComplete, value =" + value + "\n");
  49.         
  50.         var results = Components.classes["@mozilla.org/autocomplete/results;1"].createInstance();
  51.         results = results.QueryInterface(Components.interfaces.nsIAutoCompleteResults);
  52.         results.searchString = value;
  53.         results.defaultItemIndex = 0;
  54.         results.param = null;
  55.         
  56.         var item = Components.classes["@mozilla.org/autocomplete/item;1"].createInstance();
  57.         item = item.QueryInterface(Components.interfaces.nsIAutoCompleteItem);
  58.         item.value = value + "@mozilla.org";
  59.         item.comment = "[put your comment here]";
  60.         item.className = "";
  61.         item.param = null;
  62.         
  63.         results.items.AppendElement(item);
  64.  
  65.         item = Components.classes["@mozilla.org/autocomplete/item;1"].createInstance();
  66.         item = item.QueryInterface(Components.interfaces.nsIAutoCompleteItem);
  67.         item.value = value + "@netscape.com";
  68.         item.comment = "[put your comment here]";
  69.         item.className = "";
  70.         item.param = null;
  71.  
  72.         results.items.AppendElement(item);
  73.  
  74.         listener.onAutoComplete(results, Components.interfaces.nsIAutoCompleteStatus.matchFound);
  75.     }
  76. };
  77.  
  78. function function1()
  79. {
  80.     var myAutoComplete = document.getElementById("test");
  81.     value = myAutoComplete.value;
  82.     match = "Jean-Francois Ducarroz";
  83.     
  84.     lmatch = match.toLowerCase();
  85.     lvalue = value.toLowerCase();
  86.  
  87.     dump("value = " + lvalue + ", match = " + lmatch + "\n");
  88.     
  89.     if (lvalue == lmatch)
  90.         dump("exact match\n");
  91.     else
  92.     {
  93.         dump("substring = " + lmatch.substring(0, lvalue.length) + "\n");
  94.         if (lmatch.substring(0, lvalue.length) == lvalue)
  95.         {
  96.             dump("Ok, we can merge\n");
  97.             myAutoComplete.value = value + match.substring(value.length, match.length);
  98. //            myAutoComplete.anonymousContent[0].firstChild.anonymousContent[0].firstChild.setSelectionRange(value.length, match.length);
  99.         }
  100.         else
  101.        {
  102.             dump("oops, no match!\n");
  103.             myAutoComplete.value = value + " " + match;
  104.        }
  105.     }
  106.     
  107. }
  108.  
  109. function Initialize()
  110. {
  111.     dump("Initialize!!\n");
  112.  
  113.     var myAutoComplete = document.getElementById("test");
  114.     dump("myAutoComplete = " + myAutoComplete + ", session = " + myAutoComplete.mSessions + "\n");
  115.     myAutoComplete.autoCompleteSession = AutoCompleteSession;
  116.  
  117.     var secondAutoComplete = document.getElementById("test2");
  118.     abSession = secondAutoComplete.mSessions['addrbook'].QueryInterface(Components.interfaces.nsIAbAutoCompleteSession);
  119.     abSession.defaultDomain = "mozilla.org";
  120.  
  121.     var thirdAutoComplete = document.getElementById("test3");
  122.     var abSession3 = thirdAutoComplete.mSessions['ldap'].QueryInterface(Components.interfaces.nsILDAPAutoCompleteSession);
  123.     dump("\nthirdAutoComplete = " + thirdAutoComplete + "\n");
  124.     dump("thirdAutoComplete.mSessions['ldap'] = " +
  125.          thirdAutoComplete.mSessions['ldap'] + "\n");
  126.     dump("abSession3 = " + abSession3 + "\n");
  127.  
  128.     var serverURL = Components.classes["@mozilla.org/network/ldap-url;1"].
  129.                     createInstance().QueryInterface(                                               Components.interfaces.nsILDAPURL);
  130.  
  131.     //serverURL.spec = "ldap://ldap.bigfoot.com:389/??one?";
  132.     serverURL.spec = "ldap://nsdirectory.netscape.com/ou=People," +
  133.                      "dc=netscape,dc=com??one";
  134.  
  135.     abSession3.serverURL = serverURL;
  136.     abSession3.filterTemplate = "sn=";
  137.     abSession3.outputFormat = "cn <mail>";
  138.     abSession3.sizeLimit = 10;
  139.  
  140.     var fourthAutoComplete = document.getElementById("test3");
  141.     var abSession4 = fourthAutoComplete.mSessions['ldap'].QueryInterface(Components.interfaces.nsILDAPAutoCompleteSession);
  142.     dump("\nfourthAutoComplete = " + fourthAutoComplete + "\n");
  143.     dump("fourthAutoComplete.mSessions['ldap'] = " +
  144.          fourthAutoComplete.mSessions['ldap'] + "\n");
  145.     dump("abSession4 = " + abSession4 + "\n");
  146.  
  147.     var serverURL4 = Components.classes["@mozilla.org/network/ldap-url;1"].
  148.                     createInstance().QueryInterface(                                               Components.interfaces.nsILDAPURL);
  149.  
  150.     //serverURL4.spec = "ldap://ldap.bigfoot.com:389/??one?";
  151.     serverURL4.spec = "ldap://nsdirectory.netscape.com/ou=People," +
  152.                       "dc=netscape,dc=com??one";
  153.  
  154.     abSession3.serverURL = serverURL4;
  155.     abSession3.filterTemplate = "sn=";
  156.     abSession3.outputFormat = "cn <mail>";
  157.     abSession3.sizeLimit = 10;
  158.  
  159. }
  160.  
  161. </script>
  162.  
  163. <html>Inline JS:</html>
  164. <textbox id="test" timeout="300" type="autocomplete" />
  165.  
  166. <html>addrbook:</html>
  167. <textbox id="test2" 
  168.     type="autocomplete"
  169.     searchSessions="addrbook"
  170.     timeout="300"
  171.     onkeypress="if (event.keyCode == 13) dump('Done, value=' + this.value + '\n');"
  172. />
  173.  
  174. <html>ldap:</html>
  175. <textbox id="test3"
  176.     type="autocomplete"
  177.     searchSessions="ldap"
  178.     timeout="300"
  179.     onkeypress="if (event.keyCode == 13) dump('Done, value=' + this.value + '\n');"
  180. />
  181.  
  182. <html>composite (addrbook, ldap):</html>
  183. <textbox id="test3"
  184.     type="autocomplete"
  185.     searchSessions="addrbook ldap"
  186.     timeout="300"
  187.     onkeypress="if (event.keyCode == 13) dump('Done, value=' + this.value + '\n');"
  188. />
  189.  
  190. </window>
  191.